package com.aaa.vegetablemarketexpress.service;

import com.aaa.vegetablemarketexpress.entity.ShoppingCart;
import com.aaa.vegetablemarketexpress.util.Result;

import java.util.List;

/**
 * @FileName: ShoppingCartService
 * @Description:
 * @Author: 张钰哲
 * @CreateTime: 2025/9/18 10:21
 * @Version: 1.0.0
 */
public interface ShoppingCartService {
    /**
     * 添加购物车商品记录
     * @param shoppingCart
     * @return
     */
    Result addToCart(ShoppingCart shoppingCart);

    /**
     * 查询用户购物车列表
     * @param userId
     * @return
     */
    List<ShoppingCart> getCartList(Long userId);
    /**
     * 更新购物车商品数量
     * @param cartId 购物车ID
     * @param productCount 新数量
     * @return Result对象
     */
    Result updateCartItemCount(Long cartId, Integer productCount);

    /**
     * 删除购物车商品
     * @param cartId 购物车ID
     * @return Result对象
     */
    Result deleteCartItem(Long cartId);

    /**
     * 清空购物车
     * @return Result对象
     */
    Result clearCart();
    /**
     * 查询购物车商品总数量
     * @return Result对象（包含数量）
     */
    Result getCartItemCount();
}
